package com.study.gulimall.coupon;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;

/**
 * 1.如何使用Nacos作为配置中心统一管理配置
 * 1）引入相关依赖
 * 2）、创建一个bootstrap.properties文件，该文件优先级大于application.yml
 *  1.配置应用名
 *  2.以及配置中心的地址
 * 3）、给配置中心默认添加一个叫 应用名.properties的数据集（Data Id）,配置中心默认加载该应用的这个文件的配置
 * 4）、动态获取配置。 @RefreshScope @Value
 * 5）、如果配置中心和当前应用的配置文件中都配置了相同的项，优先加载配置中心的配置。
 *
 * 2、细节
 * 1）、命名空间：配置隔离
 *     默认：public(保留空间); 默认新增的所有配置都在public空间。
 *     1、开发、测试、生成：利用命名空间来做配置隔离。
 *      注意：在bootstrap.yml 配置上，需要指定使用哪个命名空间下的配置
 *      spring.cloud.nacos.config.namespace=85146c29-5828-428f-8ba8-638dcf16bf02
 *     2、每一个微服务之间相互隔离配置，每一个微服务都创建自己的命名空间，只加载自己命名空间下的所有配置
 *     3、可以基于环境配置隔离、也可以基于微服务之间进行配置隔离
 * 2）、配置集：所有的配置的集合
 *
 * 3）、配置集ID：类似于文件名
 *     Data ID: 文件名
 *
 * 4）、配置分组：
 *      默认所有的配置集都属于：DEFAULT_GROUP;
 * 每个微服务创建自己的命名空间，使用配置分组区分环境，dev、test、prod
 */
@SpringBootApplication
@EnableDiscoveryClient
public class GulimallCouponApplication {

    public static void main(String[] args) {
        SpringApplication.run(GulimallCouponApplication.class, args);
    }

}
